/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package biermanager.nucleo;

import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;

/**
 *
 * @author Tiago Silva Loureiro
 */
public class DadosContas {

private ObjectContainer db;

public DadosContas( String enderecoDoArquivo ){
    db = Db4o.openFile( enderecoDoArquivo );
    Db4o.configure().objectClass("biermanager.classes.Usuario").cascadeOnUpdate(true); // Atualizar em cascata os membros da classe. Ex. atualizar time dado set no plantel
    Db4o.configure().objectClass("biermanager.classes.Usuario").cascadeOnDelete(true); // Deletar em cascata os membros da classe.   Ex. deletar todas as caract. da classe
    //System.out.println("DatabaseAberta");
}
public void closeDatabase(){
    db.close();
    //System.out.println("Databasefechada");
}
public ObjectSet getContaByUsuario( Usuario usuario ){
    //System.out.println("Select no db");
    Conta conta = new Conta( usuario );
    ObjectSet resultado = db.get( conta );
    return( resultado );
}
public ObjectSet getAllUsuarios(){
    //System.out.println("Carregado ");
    Conta conta = new Conta( null );
    ObjectSet resultado = db.get( conta );
    return( resultado );
}
public void createConta( Conta conta ){
    db.set( conta );
    //System.out.println("Armazenado "+ time);
}
public void saveConta( Conta conta ){
    //System.out.println("preAtualizar "+ time);
    db.set( conta );
    //System.out.println("Atualizado "+ time);
}
public void deleteConta( Conta conta ){
    db.delete( conta );
    //System.out.println("Delete no db"+ time);
}

}
